Development Notes Volume 1 Chapter 5
24. - STDP Development 2024-08-08
[Draft as of 2024-08-08 8:24 AM]
This is a road map for the modifications necessary to the Neuron Simulator to accommodate Spike Timing Delay Plasticity (STDP). Changes are required to the Soma, the Dendrites, and the Synapse. No changesare needed to Axons, Steps, or Scopes. The additional functions are:
Soma
- For each input, the existing Push/Pop (P/P) is filled (existing function). This P/P is by Tick, so only inputs that occure on the same time tick are entered. To this, add a second P/P By Frame that collects unique Dendrite inputs by name and Time.
- On each Action Potential (AP), send a BackPropagation (bAP) message to all connected Dendrites. Do this by popping the By Frame P/P and sending a message to each Dendrite. The message will contain the Time of the AP and the amplitude.
- The AP amplitude will be reduced based on the dimensions of Soma.
- Create the By Frame P/P at the creation of the Soma and reset at the end of the frame.
Dendrite
- Each input to the Dendrite is pushed into the P/P By Tick (existing function). A second P/P By Frame will be used to collect all unique inputs from other Dendrites or Synapses. There can be any number of Dendrites, but there is only one Synapse bAP message.
- When a bAP message is received, the amplitude in the message is reduced by 'X' %.
- The reduction in amplitude is calculated in the Dendrite as a function of the length and diameter of that Dendrite.
- Each connected Dendrite or Synapse is sent a bAP message that includes the reduced AP, originator, and Time (tick).
- Create the By Frame P/P at the creation of the Dendrite and reset at the end of the frame.
Synapse
- Each input to the Synapse is pushed into a P/P By Tick. These inputs may be from other neurons, Axons, or Step Functions (existing function).
- When a bAP message is received (from a Dendrite or Soma), the AP amplitude is reduced by the length and diameter of the Synapse. The STDP adjustment (increase or decrease) is calculated and saved locally in the Synapse.
- The stored adjustment is applied to the Synapse weight bar, signaling the change.
- The STDP adjustment is applied to the next input to the Synapse from an Axon or Step.
Operation
This image shows the signaling between body parts of the simulator. The existing message flow is shown with black arrows and the backpropagation of the Action Potential (bAP) with red arrows.
The Green Push/Pops collect the names of each source. For example, the Green P/P in the Soma has two dendrites connected to it. Each time a connected source sends inputs to this Soma, the source names are pushed. When a spike occurs, the STPD logic pops the source names and sends each a backpropagation message. As each source receives its bAP message, it pops its own list of sources and builds a message to be relayed backward. This allows a tree-like structure of Dendrites to receive bAP messages.
When a bAP message arrives at each Synapse, the STDP function creates the new weight for that Synapse based on the STDP formula. This is applied to all synaptic inputs for the remainder of the simulation run.